package com.cgtong.android.mvp.contract;

import com.cgtong.android.bean.ProblemBean;
import com.cgtong.android.http.callback.BaseCallBack;
import com.zhouyou.http.exception.ApiException;
import com.zhouyou.http.model.ApiResult;

import java.util.List;

/**
 * Created by chunc on 2017/10/26.
 */

public interface MyReportContract {
    interface Model {

        void httpReportsData(String maxTime, int status, int isExpired, String keyValue, String beginTime, String endTime, BaseCallBack<List<ProblemBean>> baseCallBack);
        void deleteReport(long id, BaseCallBack<ApiResult> baseCallBack);

    }

    interface View {

        void setRefreshing(boolean isRefresh);

        void setEnableLoadMore(boolean enableLoadMore);

        void onLoadMoreEnd(boolean isLoadMoreEnd);

        void onError(ApiException e);

        void onNullData();

        void onHttpReportsDataSuccess(List<ProblemBean> datas, boolean isRefresh);
        void onDeleteReportSuccess(ApiResult result);
        void onDeleteReportFail(ApiException e);
    }

    interface Presenter {

        void httpReportsData(String maxTime, int status, int isExpired, String keyValue, String beginTime, String endTime, boolean isRefresh);

        void deleteReport(long id);
        void onDestroy();

    }
}
